﻿using System;

namespace Entidades
{
    public class Pago : Entidad
    {
        #region Constructores

        /// <summary>
        /// Constructor por defecto
        /// </summary>
        public Pago()
        {
        }

        #endregion

        #region Propiedades

        /// <summary>
        /// Guion
        /// </summary>
        public virtual Guion Guion { get; set; }

        /// <summary>
        /// Estado del Pago
        /// </summary>
        public virtual PagoEstado Estado { get; set; }

        /// <summary>
        /// Fecha de Pago
        /// </summary>
        public virtual DateTime? FechaPago { get; set; }

        /// <summary>
        /// Medio de Pago
        /// </summary>
        public virtual PagoMedio MedioPago { get; set; }

        /// <summary>
        /// Proveedor
        /// </summary>
        public virtual Usuario Proveedor { get; set; }

        /// <summary>
        /// Rol del Proveedor en el Guión
        /// </summary>
        public virtual UsuarioTipo ProveedorRol { get; set; }

        /// <summary>
        /// Fecha
        /// </summary>
        public virtual DateTime Fecha { get; set; }

        /// <summary>
        /// Sumatoria de Loops
        /// </summary>
        public virtual int Loops { get; set; }

        /// <summary>
        /// Importe correspondientes a Loops
        /// </summary>
        public virtual decimal ImporteLoops { get; set; }

        /// <summary>
        /// Cantidad de Canciones/Coros/Palabras
        /// </summary>
        public virtual int Canciones { get; set; }

        /// <summary>
        /// Sumatoria de Importes correspondientes a Canciones/Coros/Palabras
        /// </summary>
        public virtual decimal ImporteCanciones { get; set; }

        /// <summary>
        /// Sumatoria total de Importes
        /// </summary>
        public virtual decimal ImporteTotal { get; set; }
        
        /// <summary>
        /// Fecha Última Modificación
        /// </summary>
        public virtual DateTime? FechaUltimaModificacion { get; set; }

        /// <summary>
        /// Usuario Última Modificación
        /// </summary>
        public virtual Usuario UsuarioUltimaModificacion { get; set; }

        #endregion
    }
}
